/*
 * Copyright 2012 yura.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.opu.db.obj.vis.domain.domains;

/**
 *
 * @author yura
 */
public enum AttributeConnectionType {
    /**
     * When table have reference to another table its means that one object 
     * have another object inside.
     * Its can be when table connected "one to many" or "one to one": table 
     * contain id of another table.
     * If referenced field (field on which current is refer) does not refer on 
     * current - its means that they are connected "one to many".
     * <pre>For example:
     * -t1-----      -t2---------
     * |id   PK|     |id PK     |
     * |name   |     |t1 Ref(t1)|
     * ---------     ------------
     * </pre>So t2.t1 will be this attribute.
     */
    REFERENCE_TO_OBJECT,
    /**
     * When table have reference from another table its means current object 
     * have set of another objects inside.
     * Its can be when table connected "one to many".
     * <pre>For example:
     * -t1-----      -t2---------
     * |id   PK|     |id PK     |
     * |name   |     |t1 Ref(t1)|
     * ---------     ------------
     * In object model it will be:
     * t1 {
     * id,
     * name,
     * t2[]
     * }
     * t1.t2 will be this attribute
     * </pre>
     */
    REFERENCE_FROM_OBJECT;
}
